package com.boilermaker.springbootdemo;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;

// RequestMapping 路径映射：类路径
// 建议为所有类添加类路径，为了提高代码可读性（因此类路径的命名要与文件名有一定关联），并且避免方法重名报错
// 资源路径 = 类路径 + 方法路径
// 此时该注解支持 get 和 post 方法
@RequestMapping("/user")
// RestController注解为Spring标识需扫描的类，不添加该注解则Spring不会进行路径映射
// 注：Spring只会扫描与程序启动类同级目录或子目录中的类
@RestController
public class UserController {
    // 路径映射：方法路径
    @RequestMapping("/m1")
    public String m1() {
        return "这是m1方法";
    }

    // 此时该注解仅支持 get 方法
    @RequestMapping(value = "/m2", method = RequestMethod.GET)
    public String m2() {
        return "这是m2方法";
    }

    // 另一个仅支持 get 的注解，和上面的注解等价
    @GetMapping("/m3")
    public String m3() {
        return "这是m3方法";
    }
}
